﻿namespace Net13_Others
{
    internal class Animal
    {
        public string Name { get; set; }

        public virtual void Run()
        {
            Console.WriteLine("animal running...");
        }
    }

    class Cat : Animal
    {
        public override void Run()
        {
            Console.WriteLine("cat running...");
        }
    }

    class Dog : Animal
    {
        public new void Run()
        {
            Console.WriteLine("dog running...");
        }

        protected internal void HelloDog()
        {
            Console.WriteLine("hello dog");
        }
    }

    class HappaDog : Dog
    {
        public void Hi()
        {
            Console.Write("This is Happa ");
            HelloDog();
        }
    }

}
